package _go

func setZeroes(matrix [][]int) {

	// 记录 i 或者 j  然后在整体修改

	h := make(map[int]int)
	l := make(map[int]int)

	for i := 0; i < len(matrix); i++ {
		for j := 0; j < len(matrix[0]); j++ {
			if matrix[i][j] == 0 {
				//记录需要变更的行和列
				h[i] = 1
				l[j] = 1
			}
		}
	}
	//fmt.Printf("h %+v\n",h)
	//fmt.Printf("l %+v\n",l)

	for i := 0; i < len(matrix); i++ {
		for j := 0; j < len(matrix[0]); j++ {
			if h[i] == 1 || l[j] == 1 {
				matrix[i][j] = 0
			}
		}
	}

}
